/**
 * @Copyright:Copyright (c) 1992 - 2015
 * @Company: TengTong
 */
package com.tengtong.duang.commons.convert;

/**
 *  提供一个匹配方法，用来表示是否提供 源-目标 类型的匹配能力
 *
 * @author jai
 * @since: v1.0
 */
public interface ConditionalConverter{

	/**
	 * 给出源类型与目标类型，问一下转换器能否转换
	 *
	 * @param sourceType
	 * @param targetType
	 * @return
	 */
	public boolean matches(Class<?> sourceType, Class<?> targetType);
	
	/**
	 * 源数据 source 转换为目标类型 targetType 数据并返回
	 *
	 * @param source         源数据
	 * @param targetType  目标类型
	 * @return
	 */
	public Object convert(Object source, Class<?> targetType);
	
}
